package a.f.c;

import a.c.ab;
import a.c.bb;
import a.c.d;
import a.c.*;
import a.c.v;
import a.c.z;
import a.d.s;
import a.d.t;
import a.f.*;
import a.f.o;
import a.f.r;
import a.i.db;
import a.i.p;

import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import a.d.t;
import a.d.s;
import a.i.p;

public class e
  extends r
{
  public static final Object g = "y.layout.grouping.RecursiveGroupLayouter.GROUP_NODE_LAYOUTER_DPKEY";
  public static final rc h = new d_(null);
  private static final double i = 1.0D;
  private static final double j = 10.0D;
  private o k;
  private a.c.x l;
  private a.c.n m;
  private a.c.x n;
  private boolean o = false;
  private a.c.k p;
  private boolean q = false;
  private boolean r = true;
  private g s;
  private static final double t = 0.1D;
  private a.c.k u;
  private a.c.k v;
  private a.c.k w;
  private a.c.x x;
  private Map y;
  private Map z;
  private Map A;
  private Map B;
  private a.c.k C;
  private a.c.k D;
  private a.c.k E;
  private a.c.k F;
  private a.c.n G;
  private a.c.n H;
  private a.c.n I;
  private a.c.n J;
  private a.c.x K;
  private a.c.x L;
  private a.c.x M;
  private static final double N = 2.0D;
  public static int O;
  
  public e()
  {
    this(null, new k());
  }
  
  public e(rc paramrc)
  {
    this(paramrc, new k());
  }
  
  public e(rc paramrc, g paramg)
  {
    a(paramrc);
    this.s = paramg;
  }
  
  public boolean b()
  {
    return this.q;
  }
  
  public void a(boolean paramBoolean)
  {
    this.q = paramBoolean;
  }
  
  public boolean c()
  {
    return this.o;
  }
  
  public void b(boolean paramBoolean)
  {
    this.o = paramBoolean;
  }
  
  public boolean d()
  {
    return this.r;
  }
  
  public void c(boolean paramBoolean)
  {
    this.r = paramBoolean;
  }
  
  public boolean canLayout(o paramo)
  {
    return paramo != null;
  }
  
  private boolean a(a.c.e parame)
  {
    if ((h.j) || (this.p != null)) {
      return this.p.get(parame) != null;
    }
    return true;
  }
  
  private void a(a.c.e parame, h paramh)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    bb localbb = new bb(paramh.c(parame));
    label87:
    do
    {
      do
      {
        a.c.e locale;
        a.d.w localw;
        do
        {
          if (localbb.isEmpty()) {
            break;
          }
          locale = localbb.o();
          if (!bool2) {
            if (b(locale, paramh))
            {
              if (bool2) {
                break label87;
              }
              if (!a(locale)) {
                localbb.addAll(paramh.c(locale));
              }
            }
          }
          localw = (a.d.w)this.x.get(locale);
        } while (localw == null);
        this.k.a(locale, localw);
      } while (bool2);
    } while (!bool1);
  }
  
  private boolean b(a.c.e parame, h paramh)
  {
    boolean bool = h.j;
    if ((bool) || (paramh.e(parame))) {
      if (!bool) {
        if (!d()) {
          if (bool) {
            break label40;
          }
        }
      }
    }
    label40:
    return paramh.f(parame);
  }
  
  private void a(a.c.e parame, Object paramObject, a.c.x paramx, h paramh)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    bb localbb = paramh.c(parame);
    a.c.w localw = localbb.l();
    label114:
    do
    {
      if (!localw.e()) {
        break;
      }
      a.c.e locale = localw.d();
      paramx.a(locale, paramObject);
      if (!bool2)
      {
        if (b(locale, paramh))
        {
          if (!bool2) {
            if (a(locale))
            {
              a(locale, locale, paramx, paramh);
              if (bool2) {
                continue;
              }
              if (!bool1) {
                break label114;
              }
            }
          }
          a(locale, paramObject, paramx, paramh);
        }
        localw.f();
      }
    } while (!bool1);
  }
  
  private rc b(a.c.e parame)
  {
    boolean bool = h.j;
    if (!bool) {
      if (this.p != null)
      {
        if (bool) {
          break label38;
        }
        if (parame != null) {
          break label28;
        }
      }
    }
    return a();
    label28:
    label38:
    rc localrc = (rc)this.p.get(parame);
    return localrc;
  }
  
  private void e()
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    this.G = this.k.C();
    this.H = this.k.C();
    this.I = this.k.C();
    this.J = this.k.C();
    m localm = this.k.w();
    label174:
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald = localm.a();
      Object localObject1 = f.c(this.k, locald, true);
      localObject1 = f.a(this.k, locald, (Collection)localObject1, true);
      Object localObject2 = f.c(this.k, locald, false);
      if (bool2) {
        break label332;
      }
      localObject2 = f.a(this.k, locald, (Collection)localObject2, false);
      if (bool1) {
        break label331;
      }
      if (locald.g())
      {
        if ((bool2) || (localObject1 != null))
        {
          if (bool2) {
            break label174;
          }
          if (!((Collection)localObject1).isEmpty()) {}
        }
        else
        {
          localObject1 = new ArrayList(1);
        }
        if (((!bool2) && (localObject2 == null)) || (((Collection)localObject2).isEmpty())) {
          localObject2 = new ArrayList(1);
        }
        f.a(this.k, locald, (Collection)localObject1, (Collection)localObject2);
      }
      this.I.a(locald, localObject1);
      this.J.a(locald, localObject2);
      if (!bool2) {
        if (localObject1 != null) {
          this.G.a(locald, new z((Collection)localObject1));
        }
      }
      if (localObject2 != null) {
        this.H.a(locald, new z((Collection)localObject2));
      }
      localm.f();
    } while (!bool1);
    this.k.a(ad.q, this.I);
    if (!bool2)
    {
      this.k.a(ad.r, this.J);
      label331:
      label332:
      if (!bool2) {
        if (this.C != null) {
          this.k.j(ed.a);
        }
      }
      if ((!bool2) && (this.D == null)) {}
    }
    else
    {
      this.k.j(ed.b);
    }
  }
  
  private void f()
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    if (!bool2) {
      if (this.E != null)
      {
        this.k.a(ad.q, this.E);
        if (bool2) {
          break label62;
        }
        if (!bool1) {
          break label51;
        }
      }
    }
    this.k.j(ad.q);
    label51:
    this.k.a(this.I);
    label62:
    if (!bool2) {
      if (this.F != null)
      {
        this.k.a(ad.r, this.F);
        if (bool2) {
          break label116;
        }
        if (!bool1) {
          break label105;
        }
      }
    }
    this.k.j(ad.r);
    label105:
    this.k.a(this.J);
    label116:
    if (!bool2)
    {
      if (this.C != null) {
        this.k.a(ed.a, this.C);
      }
      if (bool2) {}
    }
    else
    {
      if (this.D != null) {
        this.k.a(ed.b, this.D);
      }
      this.k.a(this.G);
    }
    this.k.a(this.H);
  }
  
  public void doLayout(o paramo)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    if (!bool2)
    {
      this.k = paramo;
      if (h.b(paramo))
      {
        this.p = paramo.c(g);
        if (!bool2) {
          if (this.p != null) {
            paramo.j(g);
          }
        }
        this.n = paramo.B();
        localObject1 = paramo.v();
        do
        {
          if (!((a.c.w)localObject1).e()) {
            break;
          }
          this.n.a(((a.c.w)localObject1).d(), new b_());
          ((a.c.w)localObject1).f();
          if ((!bool2) && (bool1)) {
            return;
          }
        } while (!bool1);
        localObject1 = new h(paramo);
        n();
        this.l = paramo.B();
        a.c.x localx = paramo.B();
        Object localObject2 = new Object();
        a(((h)localObject1).d(), localObject2, localx, (h)localObject1);
        a_ locala_ = new a_(paramo, (h)localObject1);
        this.x = paramo.B();
        if (bool2) {
          return;
        }
        if (!bool2)
        {
          if (this.q) {
            h();
          }
          i();
          l();
          e();
          this.K = paramo.B();
        }
        this.L = paramo.B();
        Object localObject3 = paramo.v();
        do
        {
          if (!((a.c.w)localObject3).e()) {
            break;
          }
          localObject4 = ((a.c.w)localObject3).d();
          this.K.a(localObject4, ((a.c.e)localObject4).c());
          if (bool2) {
            break label339;
          }
          this.L.a(localObject4, new c_());
          ((a.c.w)localObject3).f();
          if (bool1) {
            break label332;
          }
        } while (!bool1);
        if (bool2) {
          break label910;
        }
        this.M = paramo.B();
        label332:
        label339:
        localObject3 = paramo.c(bd.a);
        if (!bool2)
        {
          if (localObject3 == null) {
            paramo.a(bd.a, this.M);
          }
          this.m = paramo.C();
        }
        Object localObject4 = ((h)localObject1).d(((h)localObject1).d());
        Object localObject5 = ((bb)localObject4).g();
        if (localObject5 != null) {}
        label588:
        label590:
        while (bool2)
        {
          localObject6 = (a.c.e)((v)localObject5).c();
          if (bool1) {
            break label660;
          }
          if (!bool2)
          {
            if (b((a.c.e)localObject6, (h)localObject1))
            {
              if (bool2) {
                break label647;
              }
              if (a((a.c.e)localObject6))
              {
                rc localrc = b((a.c.e)localObject6);
                locala_.a((a.c.e)localObject6);
                if (!bool2)
                {
                  if (localrc != null) {
                    b((h)localObject1);
                  }
                }
                else
                {
                  if (!bool2)
                  {
                    if (this.q) {
                      a((a.c.e)localObject6, (h)localObject1);
                    }
                    a((h)localObject1);
                    localrc.doLayout(paramo);
                  }
                  j();
                }
                Object localObject7;
                if (!bool2)
                {
                  if (this.s != null) {
                    if (bool2) {
                      break label590;
                    }
                  }
                }
                else
                {
                  localObject7 = this.s.a(paramo, (a.c.e)localObject6, ((h)localObject1).c((a.c.e)localObject6));
                  paramo.e((a.c.e)localObject6);
                  paramo.b((a.c.e)localObject6, ((Rectangle2D)localObject7).getWidth(), ((Rectangle2D)localObject7).getHeight());
                  paramo.c((a.c.e)localObject6, ((Rectangle2D)localObject7).getX(), ((Rectangle2D)localObject7).getY());
                  if (!bool1) {
                    break label588;
                  }
                }
                paramo.e((a.c.e)localObject6);
                if (localrc != null)
                {
                  localObject7 = paramo.d(localObject6);
                  this.l.a(localObject6, new Point2D.Double(((zc)localObject7).a(), ((zc)localObject7).b()));
                  c((h)localObject1);
                }
              }
            }
            localObject5 = ((v)localObject5).b();
          }
          if (!bool1) {
            break;
          }
        }
        label647:
        label660:
        localObject5 = b(null);
        locala_.a(((h)localObject1).d());
        if (!bool2)
        {
          if (localObject5 != null)
          {
            b((h)localObject1);
            if (!bool2)
            {
              if (this.q) {
                a(((h)localObject1).d(), (h)localObject1);
              }
              a((h)localObject1);
              ((rc)localObject5).doLayout(paramo);
              j();
            }
            c((h)localObject1);
          }
          locala_.a();
          if (bool2) {}
        }
        else
        {
          if (localObject5 != null) {
            a((h)localObject1, ((h)localObject1).d(), 0.0D, 0.0D);
          }
          paramo.a(this.m);
          this.m = null;
          f();
          m();
          k();
        }
        Object localObject6 = a(localx);
        a(paramo, (ab)localObject6);
        if (!bool2)
        {
          if (localObject3 == null) {
            paramo.j(bd.a);
          }
          if (bool2) {}
        }
        else
        {
          if (this.p != null) {
            paramo.a(g, this.p);
          }
          paramo.a(this.x);
          paramo.a(this.K);
          paramo.a(this.L);
          paramo.a(this.M);
          paramo.a(localx);
          paramo.a(this.n);
          paramo.a(this.l);
        }
        if (bool2) {
          break label910;
        }
        this.l = null;
        ((h)localObject1).e();
        if (!bool1) {
          return;
        }
      }
    }
    label910:
    Object localObject1 = a();
    if ((bool2) || (localObject1 != null)) {
      ((rc)localObject1).doLayout(paramo);
    }
  }
  
  private ab a(a.c.k paramk)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    ab localab = new ab();
    m localm = this.k.w();
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald = localm.a();
      if (!bool2)
      {
        if (paramk.get(locald.e()) != paramk.get(locald.f())) {
          localab.add(locald);
        }
        localm.f();
      }
    } while (!bool1);
    return localab;
  }
  
  protected void a(o paramo, ab paramab)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    m localm = paramab.l();
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald = localm.a();
      zc localzc1 = paramo.d(locald.e());
      zc localzc2 = paramo.d(locald.f());
      if ((bool2) || (a(localzc1, paramo.r(locald))))
      {
        if (bool2) {
          continue;
        }
        if (a(localzc2, paramo.s(locald))) {}
      }
      else
      {
        wc.b(paramo, locald);
      }
      localm.f();
    } while (!bool1);
  }
  
  private static boolean a(zc paramzc, a.d.w paramw)
  {
    boolean bool = h.j;
    if (((bool) || (paramzc.a() - 0.1D < paramw.a)) && ((bool) || (paramzc.a() + paramzc.c() + 0.1D > paramw.a)) && ((bool) || (paramzc.b() - 0.1D < paramw.b))) {
      if (bool) {}
    }
    return paramzc.b() + paramzc.d() + 0.1D > paramw.b;
  }
  
  private void a(h paramh, a.c.e parame, double paramDouble1, double paramDouble2)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    v localv = paramh.c(parame).f();
    label201:
    label358:
    do
    {
      if (localv == null) {
        break;
      }
      a.c.e locale1;
      zc localzc;
      Object localObject;
      do
      {
        locale1 = (a.c.e)localv.c();
        d locald;
        a.c.e locale2;
        do
        {
          localzc = this.k.d(locale1);
          localzc.a(localzc.a() + paramDouble1, localzc.b() + paramDouble2);
          localObject = locale1.l();
          do
          {
            if (!((m)localObject).e()) {
              break;
            }
            locald = ((m)localObject).a();
            if (bool1) {
              break label201;
            }
            if (!this.m.getBool(locald))
            {
              locale2 = locald.a(locale1);
              if (!bool2)
              {
                if ((paramh.b(locale2) == parame) || (paramh.a(locale2, paramh.b(locale1)) != null)) {
                  a(locald, paramDouble1, paramDouble2);
                }
              }
              else {
                this.m.a(locald, true);
              }
            }
            ((m)localObject).f();
          } while (!bool1);
        } while (bool2);
        if (!b(locale1, paramh)) {
          break label567;
        }
        localObject = paramh.g(locale1).l();
        a.c.e locale3;
        do
        {
          do
          {
            if (!((m)localObject).e()) {
              break;
            }
            locald = ((m)localObject).a();
            if (bool1) {
              break label358;
            }
            if (!this.m.getBool(locald))
            {
              locale2 = locald.e();
              locale3 = locald.f();
              if (bool2) {
                continue;
              }
              if ((paramh.a(locale2, paramh.b(locale3)) == null) && (paramh.a(locale3, paramh.b(locale2)) == null))
              {
                a(locald, paramDouble1, paramDouble2);
                this.m.a(locald, true);
              }
            }
            ((m)localObject).f();
          } while (!bool1);
        } while (bool2);
        localObject = paramh.h(locale1).l();
        do
        {
          if (!((m)localObject).e()) {
            break label471;
          }
          locald = ((m)localObject).a();
          if (bool1) {
            break;
          }
          if (!this.m.getBool(locald))
          {
            locale2 = locald.e();
            locale3 = locald.f();
            if (bool2) {
              continue;
            }
            if ((paramh.a(locale2, paramh.b(locale3)) == null) && (paramh.a(locale3, paramh.b(locale2)) == null))
            {
              a(locald, paramDouble1, paramDouble2);
              this.m.a(locald, true);
            }
          }
          ((m)localObject).f();
        } while (!bool1);
        localObject = (Point2D.Double)this.l.get(locale1);
        if (bool2) {
          break;
        }
      } while (bool2);
      if (localObject == null)
      {
        if (bool2) {
          break label556;
        }
        a(paramh, locale1, paramDouble1, paramDouble2);
        if (!bool1) {}
      }
      else
      {
        a(paramh, locale1, localzc.a() - ((Point2D.Double)localObject).x, localzc.b() - ((Point2D.Double)localObject).y);
      }
      this.l.a(locale1, null);
      localv = localv.a();
    } while (!bool1);
    label471:
  }
  
  private void a(d paramd, double paramDouble1, double paramDouble2)
  {
    boolean bool = h.i;
    zb localzb = this.k.e(paramd);
    int i1 = 0;
    do
    {
      if (i1 >= localzb.a()) {
        break;
      }
      a.d.w localw = localzb.a(i1);
      localzb.a(i1, localw.a + paramDouble1, localw.b + paramDouble2);
      i1++;
    } while (!bool);
  }
  
  public g g()
  {
    return this.s;
  }
  
  public void a(g paramg)
  {
    this.s = paramg;
  }
  
  private void h()
  {
    boolean bool = h.i;
    a.c.w localw = this.k.v();
    do
    {
      if (!localw.e()) {
        break;
      }
      a.c.e locale = localw.d();
      this.x.a(locale, this.k.o(locale));
      localw.f();
    } while (!bool);
  }
  
  private void i()
  {
    this.w = this.k.c(i.c);
    this.u = this.k.c(i.a);
    this.v = this.k.c(i.b);
    this.k.j(i.c);
    this.k.j(i.a);
    this.k.j(i.b);
  }
  
  private void j()
  {
    if (!h.j)
    {
      if (this.k.c(i.c) != null)
      {
        this.k.j(i.c);
        this.k.j(i.a);
      }
    }
    else {
      this.k.j(i.b);
    }
  }
  
  private void a(h paramh)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    a.c.x localx1 = db.a();
    a.c.x localx2 = db.a();
    int i1 = 0;
    a.c.w localw1 = this.k.v();
    label173:
    label175:
    do
    {
      do
      {
        if (!localw1.e()) {
          break label178;
        }
        a.c.e locale1 = localw1.d();
        if (bool1) {
          break label185;
        }
        if ((b(locale1, paramh)) && ((bool2) || (!a(locale1))))
        {
          i1 = 1;
          localx1.a(locale1, true);
          a.c.w localw2 = paramh.c(locale1).l();
          do
          {
            if (!localw2.e()) {
              break;
            }
            a.c.e locale2 = localw2.d();
            localx2.a(locale2, this.u.get(locale1));
            localw2.f();
            if (bool2) {
              break label175;
            }
            if (bool1) {
              break label173;
            }
          } while (!bool1);
        }
      } while (bool2);
      localw1.f();
    } while (!bool1);
    label178:
    if ((!bool2) && (i1 != 0))
    {
      label185:
      this.k.a(i.c, localx1);
      this.k.a(i.b, localx2);
      this.k.a(i.a, new p()
      {
        public Object get(Object paramAnonymousObject)
        {
          return e.this.u.get(paramAnonymousObject);
        }
      });
    }
  }
  
  private void k()
  {
    this.k.a(i.c, this.w);
    this.k.a(i.a, this.u);
    this.k.a(i.b, this.v);
  }
  
  private void l()
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    m localm = this.k.w();
    label82:
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald = localm.a();
      if (!bool2) {
        if (this.C != null)
        {
          if (bool2) {
            break label82;
          }
          if (a(locald, this.C)) {
            this.A.put(locald, this.k.p(locald));
          }
        }
      }
      if ((bool2) || (this.D != null))
      {
        if (bool2) {
          continue;
        }
        if (a(locald, this.D)) {
          this.B.put(locald, this.k.q(locald));
        }
      }
      localm.f();
    } while (!bool1);
  }
  
  private void m()
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    m localm = this.k.w();
    label106:
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald = localm.a();
      a.d.w localw = (a.d.w)this.A.get(locald);
      if (!bool2)
      {
        if (localw != null)
        {
          if (bool2) {
            break label106;
          }
          if (this.k.p(locald).compareTo(localw) != 0) {
            this.k.a(locald, localw);
          }
        }
        localw = (a.d.w)this.B.get(locald);
        if (bool2) {
          continue;
        }
      }
      if (localw != null)
      {
        if (bool2) {
          continue;
        }
        if (this.k.q(locald).compareTo(localw) != 0) {
          this.k.b(locald, localw);
        }
      }
      localm.f();
    } while (!bool1);
  }
  
  private void n()
  {
    this.y = new HashMap();
    this.z = new HashMap();
    this.A = new HashMap();
    this.B = new HashMap();
    this.C = this.k.c(ed.a);
    this.D = this.k.c(ed.b);
    this.E = this.k.c(ad.q);
    this.F = this.k.c(ad.r);
  }
  
  private z a(ad paramad, a.d.w paramw, d paramd, boolean paramBoolean)
  {
    boolean bool = h.j;
    z localz = new z();
    if (!bool) {
      if (paramad.b())
      {
        if (bool) {
          break label253;
        }
        localz.add(ad.a(paramad.c() + paramw.a, paramad.d() + paramw.b, paramad.a(), paramad.f()));
        if (!h.i) {
          break label251;
        }
      }
    }
    a.c.e locale = paramBoolean ? paramd.e() : paramd.f();
    b_ localb_ = (b_)this.n.get(locale);
    if (!bool) {
      if (paramad.a(1)) {
        localz.addAll(a(paramd, paramBoolean, paramw, paramad.f(), localb_.a));
      }
    }
    if (!bool) {
      if (paramad.a(2)) {
        localz.addAll(b(paramd, paramBoolean, paramw, paramad.f(), localb_.b));
      }
    }
    if (!bool) {
      if (paramad.a(8)) {
        localz.addAll(d(paramd, paramBoolean, paramw, paramad.f(), localb_.d));
      }
    }
    if ((bool) || (paramad.a(4))) {
      localz.addAll(e(paramd, paramBoolean, paramw, paramad.f(), localb_.e));
    }
    label251:
    label253:
    return localz;
  }
  
  private z a(a.c.e parame, d paramd, a.d.w paramw)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    z localz1;
    label91:
    z localz2;
    a.c.y localy;
    ad localad;
    if (!bool2) {
      if (paramd.f() == parame)
      {
        localz1 = (z)this.H.get(paramd);
        if ((bool2) || (localz1 != null))
        {
          if (bool2) {
            break label91;
          }
          if (!localz1.isEmpty()) {}
        }
        else
        {
          if ((bool2) || (this.o)) {
            return a(paramd, false, paramw, 1.0D);
          }
          return null;
        }
        localz2 = new z();
        localy = localz1.h();
        do
        {
          if (!localy.e()) {
            break;
          }
          localad = (ad)localy.j();
          if (!bool2)
          {
            if (bool1) {
              break label160;
            }
            localz2.a(a(localad, paramw, paramd, false));
            localy.f();
          }
        } while (!bool1);
        label160:
        return localz2;
      }
    }
    if ((bool2) || (paramd.e() == parame))
    {
      localz1 = (z)this.G.get(paramd);
      if ((bool2) || (localz1 != null))
      {
        if (bool2) {
          break label242;
        }
        if (!localz1.isEmpty()) {}
      }
      else
      {
        if ((bool2) || (this.o)) {
          return a(paramd, true, paramw, 1.0D);
        }
        return null;
      }
      label242:
      localz2 = new z();
      localy = localz1.h();
      do
      {
        if (!localy.e()) {
          break;
        }
        localad = (ad)localy.j();
        if (!bool2)
        {
          if (bool1) {
            break label311;
          }
          localz2.a(a(localad, paramw, paramd, true));
          localy.f();
        }
      } while (!bool1);
      label311:
      return localz2;
    }
    return null;
  }
  
  private static a.d.w a(a.d.w paramw1, a.d.w paramw2)
  {
    return new a.d.w(paramw1.a() - paramw2.a(), paramw1.b() - paramw2.b());
  }
  
  private void a(t paramt, a.d.y paramy, b_ paramb_)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    int i1 = 0;
    a.d.n localn1 = paramy.a(i1);
    do
    {
      do
      {
        if ((i1 >= paramy.j() - 1) || ((!bool2) && (!paramt.a(localn1.d())))) {
          break;
        }
        if (!bool2)
        {
          if (!paramt.a(localn1.e())) {
            break;
          }
          localn1 = paramy.a(++i1);
        }
      } while (!bool1);
    } while (bool2);
    if (!bool2) {
      if (localn1 == null) {
        return;
      }
    }
    a.d.w localw1 = localn1.d();
    a.d.w localw2 = paramt.f();
    a.d.w localw3 = new a.d.w(localw2.a() + paramt.b() * 0.5D, localw2.b() + paramt.c() * 0.5D);
    if (!bool2) {
      if (paramt.a(localw1))
      {
        a.d.n localn2 = new a.d.n(localw2, new a.d.w(localw2.a + paramt.b(), localw2.b));
        a.d.w localw4 = a.d.n.a(localn1, localn2);
        if (!bool2)
        {
          if (localw4 != null) {
            paramb_.a.add(a(localw4, localw3));
          }
        }
        else {
          return;
        }
        a.d.n localn3 = new a.d.n(new a.d.w(localw2.a, localw2.b + paramt.c()), new a.d.w(localw2.a + paramt.b(), localw2.b + paramt.c()));
        if (!bool2)
        {
          localw4 = a.d.n.a(localn1, localn3);
          if (localw4 != null)
          {
            paramb_.b.add(a(localw4, localw3));
            return;
          }
        }
        a.d.n localn4 = new a.d.n(new a.d.w(localw2.a, localw2.b), new a.d.w(localw2.a, localw2.b + paramt.c()));
        if (!bool2)
        {
          localw4 = a.d.n.a(localn1, localn4);
          if (localw4 != null)
          {
            paramb_.d.add(a(localw4, localw3));
            return;
          }
        }
        a.d.n localn5 = new a.d.n(new a.d.w(localw2.a + paramt.b(), localw2.b), new a.d.w(localw2.a + paramt.b(), localw2.b + paramt.c()));
        localw4 = a.d.n.a(localn1, localn5);
        if (bool2) {
          break label501;
        }
        if (localw4 != null)
        {
          paramb_.e.add(a(localw4, localw3));
          return;
        }
      }
    }
    label501:
    if (!bool2) {
      if (localw1.b() <= localw2.b())
      {
        paramb_.a.add(a(localw1, localw3));
        if ((!bool2) && (!bool1)) {
          return;
        }
      }
    }
    if (!bool2) {
      if (localw1.b() >= localw2.b() + paramt.c())
      {
        paramb_.b.add(a(localw1, localw3));
        if ((!bool2) && (!bool1)) {
          return;
        }
      }
    }
    if (!bool2) {
      if (localw1.a() <= localw2.a())
      {
        paramb_.d.add(a(localw1, localw3));
        if ((!bool2) && (!bool1)) {
          return;
        }
      }
    }
    if ((bool2) || (localw1.a() >= localw2.a() + paramt.b())) {
      paramb_.e.add(a(localw1, localw3));
    }
  }
  
  private void a(d paramd, boolean paramBoolean, a.d.y paramy)
  {
    a.c.e locale = paramBoolean ? paramd.e() : paramd.f();
    b_ localb_ = (b_)this.n.get(locale);
    t localt = this.k.v(locale);
    if (!h.j)
    {
      if (!paramBoolean) {
        paramy = paramy.i();
      }
      a(localt, paramy, localb_);
    }
  }
  
  private boolean a(double paramDouble1, double paramDouble2)
  {
    boolean bool = h.j;
    if ((bool) || (paramDouble1 + 2.0D > paramDouble2)) {
      if (bool) {}
    }
    return paramDouble1 - 2.0D < paramDouble2;
  }
  
  private z a(d paramd, boolean paramBoolean, a.d.w paramw, double paramDouble, z paramz)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    c_ localc_ = (c_)(paramBoolean ? this.L.get(paramd.e()) : this.L.get(paramd.f()));
    z localz = new z();
    if (!bool2) {
      if (paramBoolean)
      {
        i2 = this.K.getInt(paramd.e());
        if (!bool2) {}
        i1 = i2 % 2 == 0 ? i2 + 1 : i2;
        if (bool2) {
          break label153;
        }
        if (!bool1) {
          break label152;
        }
      }
    }
    int i2 = this.K.getInt(paramd.f());
    if (!bool2) {}
    int i1 = i2 % 2 == 0 ? i2 + 1 : i2;
    label152:
    label153:
    s locals = paramBoolean ? this.k.u(paramd.e()) : this.k.u(paramd.f());
    a.c.y localy = paramz.h();
    double d1 = (bool2) || (localy.e()) ? ((a.d.w)localy.j()).a() : 1.7976931348623157E+308D;
    double d2 = locals.c() / 2.0D;
    double d3 = locals.b() / 2.0D;
    double d4 = locals.b() / (i1 + 1);
    int i3 = (i1 - 1) / 2;
    int i4 = 0;
    label293:
    do
    {
      if (i4 >= i1) {
        break;
      }
      double d5 = -d3 + d4 * (i4 + 1);
      if (d5 > d1 + 2.0D) {
        localy.f();
      }
      double d6;
      do
      {
        if (bool1) {
          break;
        }
        d1 = localy.e() ? ((a.d.w)localy.j()).a() : 1.7976931348623157E+308D;
        if (!bool1) {
          break label293;
        }
        d6 = paramDouble;
        if (bool2) {
          break label388;
        }
      } while (bool2);
      if (i4 != i3) {
        d6 += 1.0D;
      }
      if (!bool2)
      {
        if (a(d5, d1)) {
          d6 += 10.0D;
        }
        localz.add(ad.a(d5 + paramw.a, -d2 + paramw.b, 1, d6));
        i4++;
      }
    } while (!bool1);
    label388:
    if ((bool2) || (localc_ != null)) {
      localc_.a = localz;
    }
    return localz;
  }
  
  private z b(d paramd, boolean paramBoolean, a.d.w paramw, double paramDouble, z paramz)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    c_ localc_ = (c_)(paramBoolean ? this.L.get(paramd.e()) : this.L.get(paramd.f()));
    z localz = new z();
    if (!bool2) {
      if (paramBoolean)
      {
        i2 = this.K.getInt(paramd.e());
        if (!bool2) {}
        i1 = i2 % 2 == 0 ? i2 + 1 : i2;
        if (bool2) {
          break label153;
        }
        if (!bool1) {
          break label152;
        }
      }
    }
    int i2 = this.K.getInt(paramd.f());
    if (!bool2) {}
    int i1 = i2 % 2 == 0 ? i2 + 1 : i2;
    label152:
    label153:
    s locals = paramBoolean ? this.k.u(paramd.e()) : this.k.u(paramd.f());
    a.c.y localy = paramz.h();
    double d1 = (bool2) || (localy.e()) ? ((a.d.w)localy.j()).a() : 1.7976931348623157E+308D;
    double d2 = locals.c() / 2.0D;
    double d3 = locals.b() / 2.0D;
    double d4 = locals.b() / (i1 + 1);
    int i3 = (i1 - 1) / 2;
    int i4 = 0;
    label293:
    do
    {
      if (i4 >= i1) {
        break;
      }
      double d5 = -d3 + d4 * (i4 + 1);
      if (d5 > d1 + 2.0D) {
        localy.f();
      }
      double d6;
      do
      {
        if (bool1) {
          break;
        }
        d1 = localy.e() ? ((a.d.w)localy.j()).a() : 1.7976931348623157E+308D;
        if (!bool1) {
          break label293;
        }
        d6 = paramDouble;
        if (bool2) {
          break label388;
        }
      } while (bool2);
      if (i4 != i3) {
        d6 += 1.0D;
      }
      if (!bool2)
      {
        if (a(d5, d1)) {
          d6 += 10.0D;
        }
        localz.add(ad.a(d5 + paramw.a, d2 + paramw.b, 2, d6));
        i4++;
      }
    } while (!bool1);
    label388:
    if ((bool2) || (localc_ != null)) {
      localc_.b = localz;
    }
    return localz;
  }
  
  private z d(d paramd, boolean paramBoolean, a.d.w paramw, double paramDouble, z paramz)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    c_ localc_ = (c_)(paramBoolean ? this.L.get(paramd.e()) : this.L.get(paramd.f()));
    z localz = new z();
    if (!bool2) {
      if (paramBoolean)
      {
        i2 = this.K.getInt(paramd.e());
        if (!bool2) {}
        i1 = i2 % 2 == 0 ? i2 + 1 : i2;
        if (bool2) {
          break label153;
        }
        if (!bool1) {
          break label152;
        }
      }
    }
    int i2 = this.K.getInt(paramd.f());
    if (!bool2) {}
    int i1 = i2 % 2 == 0 ? i2 + 1 : i2;
    label152:
    label153:
    s locals = paramBoolean ? this.k.u(paramd.e()) : this.k.u(paramd.f());
    a.c.y localy = paramz.h();
    double d1 = (bool2) || (localy.e()) ? ((a.d.w)localy.j()).b() : 1.7976931348623157E+308D;
    double d2 = locals.c() / 2.0D;
    double d3 = locals.b() / 2.0D;
    double d4 = locals.c() / (i1 + 1);
    int i3 = (i1 - 1) / 2;
    int i4 = 0;
    label293:
    do
    {
      if (i4 >= i1) {
        break;
      }
      double d5 = -d2 + d4 * (i4 + 1);
      if (d5 > d1 + 2.0D) {
        localy.f();
      }
      double d6;
      do
      {
        if (bool1) {
          break;
        }
        d1 = localy.e() ? ((a.d.w)localy.j()).b() : 1.7976931348623157E+308D;
        if (!bool1) {
          break label293;
        }
        d6 = paramDouble;
        if (bool2) {
          break label388;
        }
      } while (bool2);
      if (i4 != i3) {
        d6 += 1.0D;
      }
      if (!bool2)
      {
        if (a(d5, d1)) {
          d6 += 10.0D;
        }
        localz.add(ad.a(-d3 + paramw.a, d5 + paramw.b, 8, d6));
        i4++;
      }
    } while (!bool1);
    label388:
    if ((bool2) || (localc_ != null)) {
      localc_.c = localz;
    }
    return localz;
  }
  
  private z e(d paramd, boolean paramBoolean, a.d.w paramw, double paramDouble, z paramz)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    c_ localc_ = (c_)(paramBoolean ? this.L.get(paramd.e()) : this.L.get(paramd.f()));
    z localz = new z();
    if (!bool2) {
      if (paramBoolean)
      {
        i2 = this.K.getInt(paramd.e());
        if (!bool2) {}
        i1 = i2 % 2 == 0 ? i2 + 1 : i2;
        if (bool2) {
          break label153;
        }
        if (!bool1) {
          break label152;
        }
      }
    }
    int i2 = this.K.getInt(paramd.f());
    if (!bool2) {}
    int i1 = i2 % 2 == 0 ? i2 + 1 : i2;
    label152:
    label153:
    s locals = paramBoolean ? this.k.u(paramd.e()) : this.k.u(paramd.f());
    a.c.y localy = paramz.h();
    double d1 = (bool2) || (localy.e()) ? ((a.d.w)localy.j()).b() : 1.7976931348623157E+308D;
    double d2 = locals.c() / 2.0D;
    double d3 = locals.b() / 2.0D;
    double d4 = locals.c() / (i1 + 1);
    int i3 = (i1 - 1) / 2;
    int i4 = 0;
    label293:
    do
    {
      if (i4 >= i1) {
        break;
      }
      double d5 = -d2 + d4 * (i4 + 1);
      if (d5 > d1 + 2.0D) {
        localy.f();
      }
      double d6;
      do
      {
        if (bool1) {
          break;
        }
        d1 = localy.e() ? ((a.d.w)localy.j()).b() : 1.7976931348623157E+308D;
        if (!bool1) {
          break label293;
        }
        d6 = paramDouble;
        if (bool2) {
          break label388;
        }
      } while (bool2);
      if (i4 != i3) {
        d6 += 1.0D;
      }
      if (!bool2)
      {
        if (a(d5, d1)) {
          d6 += 10.0D;
        }
        localz.add(ad.a(d3 + paramw.a, d5 + paramw.b, 4, d6));
        i4++;
      }
    } while (!bool1);
    label388:
    if ((bool2) || (localc_ != null)) {
      return localc_.d = localz;
    }
    return localz;
  }
  
  private z a(d paramd, boolean paramBoolean, a.d.w paramw, double paramDouble)
  {
    boolean bool = h.j;
    a.c.e locale = paramBoolean ? paramd.e() : paramd.f();
    b_ localb_ = (b_)this.n.get(locale);
    a(paramd, paramBoolean, paramw, paramDouble, localb_.a);
    b(paramd, paramBoolean, paramw, paramDouble, localb_.b);
    d(paramd, paramBoolean, paramw, paramDouble, localb_.d);
    if (!bool) {
      e(paramd, paramBoolean, paramw, paramDouble, localb_.e);
    }
    c_ localc_ = (c_)(paramBoolean ? this.L.get(paramd.e()) : this.L.get(paramd.f()));
    if ((bool) || (localc_ != null)) {
      return localc_.a();
    }
    return null;
  }
  
  private bd a(a.c.e parame, int paramInt)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    bd localbd = new bd();
    if (paramInt == 0) {
      return localbd;
    }
    s locals = this.k.u(parame);
    if (!bool2) {}
    int i1 = paramInt % 2 == 0 ? paramInt + 1 : paramInt;
    double d1 = locals.c() / 2.0D;
    double d2 = locals.b() / 2.0D;
    double d3 = locals.b() / (i1 + 1);
    int i2 = 0;
    if (i2 < i1) {}
    double d4;
    while (bool2)
    {
      d4 = -d2 + d3 * (i2 + 1);
      localbd.a(ad.a(d4, -d1, 1));
      localbd.a(ad.a(d4, d1, 2));
      i2++;
      if (bool2) {
        break label175;
      }
      if (bool1) {
        break label174;
      }
      if (!bool1) {
        break;
      }
    }
    d3 = locals.c() / (i1 + 1);
    label174:
    label175:
    i2 = 0;
    do
    {
      if (i2 >= i1) {
        break;
      }
      d4 = -d1 + d3 * (i2 + 1);
      localbd.a(ad.a(-d2, d4, 8));
      if (!bool2)
      {
        if (bool1) {
          break label243;
        }
        localbd.a(ad.a(d2, d4, 4));
        i2++;
      }
    } while (!bool1);
    label243:
    return localbd;
  }
  
  private void b(h paramh)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    a.c.w localw = this.k.v();
    label297:
    label347:
    label625:
    label627:
    do
    {
      if (!localw.e()) {
        break;
      }
      a.c.e locale = localw.d();
      z localz1 = new z();
      while ((bool2) || ((b(locale, paramh)) && ((bool2) || (a(locale)))))
      {
        a.d.w localw1 = this.k.o(locale);
        int i1 = 0;
        Object localObject1 = paramh.g(locale).l();
        Object localObject2;
        a.d.w localw2;
        a.d.w localw3;
        Object localObject3;
        a.d.w localw4;
        Object localObject4;
        z localz2;
        do
        {
          do
          {
            if (!((m)localObject1).e()) {
              break;
            }
            localObject2 = ((m)localObject1).a();
            if (bool2) {
              break label627;
            }
            if (bool1) {
              break label625;
            }
            if (((d)localObject2).f() != locale)
            {
              localw2 = this.k.o(((d)localObject2).f());
              localw3 = new a.d.w(localw2.a - localw1.a, localw2.b - localw1.b);
              if (!bool2) {
                if (((d)localObject2).e().g() != null)
                {
                  this.z.put(localObject2, ((d)localObject2).f());
                  localObject3 = this.k.s((d)localObject2);
                  localw4 = a(paramh, ((d)localObject2).f(), locale);
                  localObject4 = a(((d)localObject2).f(), (d)localObject2, a.d.w.b(localw4, localw3));
                  if (!bool2)
                  {
                    if (localObject4 != null) {
                      this.J.a(localObject2, localObject4);
                    }
                  }
                  else
                  {
                    localz1.addAll((Collection)localObject4);
                    if (bool2) {
                      break label347;
                    }
                    if (!bool1) {
                      break label297;
                    }
                  }
                  i1++;
                  a((d)localObject2, ((d)localObject2).e(), locale);
                  this.k.d((d)localObject2, new a.d.w(((a.d.w)localObject3).a + localw4.a, ((a.d.w)localObject3).b + localw4.b));
                  if (bool2) {
                    continue;
                  }
                  if (((d)localObject2).c() != null) {
                    break label573;
                  }
                  this.k.g((d)localObject2);
                  if (bool2) {
                    continue;
                  }
                  if (!bool1) {
                    break label573;
                  }
                }
              }
              localObject3 = paramh.a(((d)localObject2).e(), paramh.b(locale));
              if (bool2) {
                continue;
              }
              if ((localObject3 != null) && ((bool2) || (((a.c.e)localObject3).g() != null)))
              {
                this.z.put(localObject2, ((d)localObject2).f());
                localw4 = this.k.s((d)localObject2);
                localObject4 = a(paramh, ((d)localObject2).f(), locale);
                localz2 = a(((d)localObject2).f(), (d)localObject2, a.d.w.b((a.d.w)localObject4, localw3));
                if (!bool2)
                {
                  if (localz2 != null) {
                    this.J.a(localObject2, localz2);
                  }
                }
                else
                {
                  localz1.addAll(localz2);
                  if (bool2) {
                    break label535;
                  }
                  if (!bool1) {
                    break label523;
                  }
                }
                i1++;
                a((d)localObject2, ((d)localObject2).e(), locale);
                this.k.d((d)localObject2, new a.d.w(localw4.a + ((a.d.w)localObject4).a, localw4.b + ((a.d.w)localObject4).b));
              }
            }
            ((m)localObject1).f();
          } while (!bool1);
        } while (bool2);
        localObject1 = paramh.h(locale).l();
        do
        {
          do
          {
            if (!((m)localObject1).e()) {
              break label1087;
            }
            localObject2 = ((m)localObject1).a();
            if (bool1) {
              break;
            }
            if (((d)localObject2).e() != locale)
            {
              localw2 = this.k.o(((d)localObject2).e());
              localw3 = new a.d.w(localw2.a - localw1.a, localw2.b - localw1.b);
              if (!bool2) {
                if (((d)localObject2).f().g() != null)
                {
                  this.y.put(localObject2, ((d)localObject2).e());
                  localObject3 = this.k.r((d)localObject2);
                  localw4 = a(paramh, ((d)localObject2).e(), locale);
                  localObject4 = a(((d)localObject2).e(), (d)localObject2, a.d.w.b(localw4, localw3));
                  if (!bool2)
                  {
                    if (localObject4 != null) {
                      this.I.a(localObject2, localObject4);
                    }
                  }
                  else
                  {
                    localz1.addAll((Collection)localObject4);
                    if (bool2) {
                      break label849;
                    }
                    if (!bool1) {
                      break label799;
                    }
                  }
                  i1++;
                  a((d)localObject2, locale, ((d)localObject2).f());
                  this.k.c((d)localObject2, new a.d.w(((a.d.w)localObject3).a + localw4.a, ((a.d.w)localObject3).b + localw4.b));
                  if (bool2) {
                    continue;
                  }
                  if (((d)localObject2).c() != null) {
                    break label1075;
                  }
                  this.k.g((d)localObject2);
                  if (bool2) {
                    continue;
                  }
                  if (!bool1) {
                    break label1075;
                  }
                }
              }
              localObject3 = paramh.a(((d)localObject2).f(), paramh.b(locale));
              if (bool2) {
                continue;
              }
              if ((localObject3 != null) && ((bool2) || (((a.c.e)localObject3).g() != null)))
              {
                this.y.put(localObject2, ((d)localObject2).e());
                localw4 = this.k.r((d)localObject2);
                localObject4 = a(paramh, ((d)localObject2).e(), locale);
                localz2 = a(((d)localObject2).e(), (d)localObject2, a.d.w.b((a.d.w)localObject4, localw3));
                if (!bool2)
                {
                  if (localz2 != null) {
                    this.I.a(localObject2, localz2);
                  }
                }
                else
                {
                  localz1.addAll(localz2);
                  if (bool2) {
                    break label1037;
                  }
                  if (!bool1) {
                    break label1025;
                  }
                }
                i1++;
                a((d)localObject2, locale, ((d)localObject2).f());
                this.k.c((d)localObject2, new a.d.w(localw4.a + ((a.d.w)localObject4).a, localw4.b + ((a.d.w)localObject4).b));
              }
            }
            ((m)localObject1).f();
          } while (!bool1);
        } while (bool2);
        if (!localz1.isEmpty())
        {
          localObject1 = a(locale, i1);
          localObject2 = localz1.h();
          do
          {
            if (!((a.c.y)localObject2).e()) {
              break;
            }
            ((bd)localObject1).a((ad)((a.c.y)localObject2).j());
            ((a.c.y)localObject2).f();
            if (bool2) {
              break label1188;
            }
            if (bool1) {
              break label1186;
            }
          } while (!bool1);
          if (!bool2) {
            this.M.a(locale, localObject1);
          }
        }
      }
      localw.f();
    } while (!bool1);
    label523:
    label535:
    label573:
    label849:
    return;
  }
  
  private void a(d paramd, a.c.e parame1, a.c.e parame2)
  {
    boolean bool = h.j;
    int i1 = 0;
    a.c.e locale1 = paramd.e();
    if (!bool)
    {
      if (locale1.g() == null) {
        this.k.e(locale1);
      }
    }
    else {
      i1 = 1;
    }
    int i2 = 0;
    a.c.e locale2 = paramd.f();
    if (!bool)
    {
      if (locale2.g() == null) {
        this.k.e(locale2);
      }
    }
    else {
      i2 = 1;
    }
    int i3 = 0;
    if (!bool)
    {
      if (paramd.c() == null)
      {
        this.k.g(paramd);
        i3 = 1;
      }
      this.k.a(paramd, parame1, parame2);
    }
    if (!bool) {
      if (i3 != 0) {
        this.k.f(paramd);
      }
    }
    if (!bool) {
      if (i1 != 0) {
        this.k.d(locale1);
      }
    }
    if (i2 != 0) {
      this.k.d(locale2);
    }
  }
  
  private static a.d.y a(a.d.y paramy, a.d.w paramw)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    if ((bool2) || (paramw == null)) {
      paramw = new a.d.w(0.0D, 0.0D);
    }
    a.d.w[] arrayOfw = new a.d.w[paramy.j()];
    int i1 = 0;
    a.d.x localx = paramy.b();
    do
    {
      if (!localx.e()) {
        break;
      }
      a.d.w localw = localx.a();
      arrayOfw[(i1++)] = new a.d.w(localw.a - paramw.a, localw.b - paramw.b);
      localx.f();
    } while (!bool1);
    return new a.d.y(arrayOfw);
  }
  
  private void c(h paramh)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    ab localab = new ab(this.k.w());
    m localm = localab.l();
    d locald;
    a.c.e locale;
    a.d.w localw1;
    a.d.w localw2;
    a.d.y localy;
    do
    {
      do
      {
        if (!localm.e()) {
          break;
        }
        locald = localm.a();
        locale = (a.c.e)this.y.get(locald);
        if (bool1) {
          break label286;
        }
        if (locale != null)
        {
          localw1 = this.k.r(locald);
          localw2 = a(paramh, locale, paramh.b(locald.e()));
          localy = a(this.k.n(locald), localw2);
          a(locald, locale, locald.f());
          this.k.c(locald, new a.d.w(localw1.a - localw2.a, localw1.b - localw2.b));
          a(locald, true, localy);
          if (bool2) {
            continue;
          }
          if (locald.c() != null)
          {
            this.k.f(locald);
            if (bool2) {
              continue;
            }
            if (!bool1) {}
          }
        }
        else
        {
          a(locald, true, a(this.k.n(locald), null));
        }
        localm.f();
      } while (!bool1);
    } while (bool2);
    localm = localab.l();
    label286:
    do
    {
      if (!localm.e()) {
        break;
      }
      locald = localm.a();
      locale = (a.c.e)this.z.get(locald);
      if (locale != null)
      {
        localw1 = this.k.s(locald);
        localw2 = a(paramh, locale, paramh.b(locald.f()));
        localy = a(this.k.n(locald), localw2);
        a(locald, locald.e(), locale);
        this.k.d(locald, new a.d.w(localw1.a - localw2.a, localw1.b - localw2.b));
        a(locald, false, localy);
        if (bool2) {
          continue;
        }
        if (locald.c() != null)
        {
          this.k.f(locald);
          if (bool2) {
            continue;
          }
          if (!bool1) {}
        }
      }
      else
      {
        a(locald, false, a(this.k.n(locald), null));
      }
      localm.f();
    } while (!bool1);
  }
  
  private boolean a(d paramd, a.c.k paramk)
  {
    cd localcd = (cd)paramk.get(paramd);
    return (h.j) || (localcd != null) ? localcd.a() : false;
  }
  
  private a.d.w c(a.c.e parame)
  {
    boolean bool = h.j;
    a.d.w localw = null;
    zc localzc = this.k.d(parame);
    if ((bool) || (this.l != null))
    {
      Point2D.Double localDouble = (Point2D.Double)this.l.get(parame);
      if (localDouble != null) {
        localw = new a.d.w(localzc.a() - localDouble.x, localzc.b() - localDouble.y);
      }
    }
    if (!bool) {}
    return localw != null ? localw : new a.d.w();
  }
  
  private a.d.w a(h paramh, a.c.e parame1, a.c.e parame2)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    a.d.w localw = new a.d.w();
    if (this.l != null)
    {
      a.c.e locale = paramh.b(parame1);
      do
      {
        if (locale == null) {
          break;
        }
        if (!bool2)
        {
          if (locale == parame2) {
            break;
          }
          localw = a.d.w.b(localw, c(locale));
        }
        locale = paramh.b(locale);
      } while (!bool1);
    }
    return localw;
  }
  
  static class c_
  {
    z a = null;
    z b = null;
    z c = null;
    z d = null;
    
    public z a()
    {
      boolean bool = h.j;
      z localz = new z();
      if (!bool) {
        if (this.a != null) {
          localz.addAll(this.a);
        }
      }
      if (!bool) {
        if (this.b != null) {
          localz.addAll(this.b);
        }
      }
      if (!bool) {
        if (this.c != null) {
          localz.addAll(this.c);
        }
      }
      if (!bool) {
        if (this.d != null) {
          localz.addAll(this.d);
        }
      }
      return localz;
    }
  }
  
  static class b_
  {
    z a = new z();
    z b = new z();
    z d = new z();
    z e = new z();
  }
  
  class a_
  {
    private h a;
    private a.i.y b;
    
    a_(q paramq, h paramh)
    {
      this.a = paramh;
      this.b = new a.i.y(paramq);
    }
    
    public void a(a.c.e parame)
    {
      boolean bool2 = h.j;
      boolean bool1 = h.i;
      if (!bool2)
      {
        this.b.b();
        if (parame == null) {}
      }
      else
      {
        if (bool2) {
          break label173;
        }
        if (!e.this.a(parame)) {
          break label172;
        }
      }
      bb localbb1 = new bb();
      bb localbb2 = new bb(this.a.c(parame));
      do
      {
        do
        {
          a.c.e locale;
          do
          {
            do
            {
              if (localbb2.isEmpty()) {
                break;
              }
              locale = localbb2.o();
              localbb1.add(locale);
            } while (!e.this.b(locale, this.a));
            if ((bool2) || (bool1)) {
              break label154;
            }
            if (bool2) {
              break;
            }
          } while (e.this.a(locale));
          localbb2.addAll(this.a.c(locale));
        } while (bool2);
      } while (!bool1);
      label154:
      if (!bool2)
      {
        this.b.a(localbb1, true);
        if (!bool1) {}
      }
      else
      {
        label172:
        label173:
        this.b.a(parame, false);
      }
    }
    
    public void a()
    {
      this.b.g();
    }
  }
  
  private static class d_
    implements rc
  {
    private d_() {}
    
    public boolean canLayout(o paramo)
    {
      return true;
    }
    
    public void doLayout(o paramo) {}
    
    d_(e.4 param4)
    {
      this();
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.c.e

 * JD-Core Version:    0.7.0.1

 */